/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * frmVentanaUsuario.java
 *
 * Created on 23/10/2009, 01:05:40 PM
 */

package GUI.Seguridad;

import BusinessEntity.*;
import BusinessLogic.*;
import DataAccess.TransaccionDA;
import Seguridad.*;
import ElementosGlobales.*;
import java.awt.Color;
import java.awt.Font;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import GUI.Mensajes.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import GUI.Principal.EnvioContrasenha;
import GUI.Principal.frmVentanaPrincipal;

/**
 *
 * @author Bernabe
 */
public class frmVentanaUsuario extends javax.swing.JFrame {

    private Encriptador objEncriptador=new Encriptador();
    private int intModo;
    private int intTamañoDocuentoIdentidad = 1;
    private int intTamañoNombres = 1;
    private int intTamañoApellidoPaterno = 1;
    private int intTamañoApellidoMaterno = 1;
    private int intTamañoTelefonoPrincipal = 1;
    private int intTamañoUsuario=1;
    private int intTamañoDireccion=1;
    private int intTamañoEmail=1;
    private UsuarioBE objUsuarioBE;
    private UsuarioBL objUsuarioBL = new UsuarioBL();
    int toqueDepartamento=0;
    DepartamentoBE DepartamentoSeleccionado;
    ProvinciaBE ProvinciaSeleccionado;
    DistritoBE DistritoSeleccionado;
    private PerfilBE objPerfilBE = new PerfilBE();
    private PerfilBL objPerfilBL = new PerfilBL();
    private ArrayList<PerfilBE> arrPerfiles = new ArrayList<PerfilBE>();
    int intCantidadCaracteresMinimo=5;
    int intCantidadCaracteresMaximo=9;
     // esto es para auditoria, valido para todos los modulos
    private LogUsuarioBE objLogUsuarioBE;
    private LogUsuarioBL objLogUsuarioBL;
    private TransaccionBE objTransaccionBE;
    private TransaccionBL objTransaccionBL;
    private TransaccionDA objTransaccionDA;
    private String ConsultaRealizada="Usuario";
    private String Accion=""; // si es registrar, modificar, eliminar
    private int codmodulo=3; // es 3 xq segun la tabla el codigo de modulo de usuario es 3
    private String strmodulo="Usuario";
    private int codusuario=0; // el usuario que se logueo
    private int codlog=1;
    private boolean resp;
   //// fin de lo agregado para auditoria

    public frmVentanaUsuario(UsuarioBE objUsuario, int intModo){
        initComponents();
        toqueDepartamento=0;
        DepartamentoSeleccionado=new DepartamentoBE();
        ProvinciaSeleccionado=new ProvinciaBE();
        DistritoSeleccionado=new DistritoBE();
        cargarCombos();

        this.setLocation(60, 110);       
        this.intModo=intModo;
        
        objPerfilBE.setEstado("Activo");
        objPerfilBE.setPerfil("");
        
        try{
            arrPerfiles = (ArrayList<PerfilBE>) objPerfilBL.buscarPerfiles(objPerfilBE);
            this.cmbPerfil.addItem("--Seleccione--");
            for (PerfilBE obj : arrPerfiles ){
                System.out.printf("%s\n",obj.getPerfil());
               this.cmbPerfil.addItem(obj.getPerfil());
            }
        }catch (Exception e) {
            JOptionPane.showMessageDialog(null,"Error en listar perfiles"," Mensaje ",JOptionPane.ERROR_MESSAGE);
        }

        this.cmbSexo.addItem("--Seleccione--");
        this.cmbSexo.addItem("FEMENINO");
        this.cmbSexo.addItem("MASCULINO");

//        this.cmbCargo.addItem("--Seleccione--");
//        this.cmbCargo.addItem("Administrador");
//        this.cmbCargo.addItem("Profesional");
        
        this.cmbArea.addItem("--Seleccione--");
        this.cmbArea.addItem("Sistemas");
        this.cmbArea.addItem("Documentos");
        this.cmbArea.addItem("Evaluacion");
        this.cmbArea.addItem("Auditoria");

       if(objUsuario!=null){
            this.objUsuarioBE=objUsuario;
        }
        if(intModo==2){
             habilitarControlesPanel();
             cargarDatosPanel(objUsuario);
             this.setTitle("Modificación del Usuario");
        }
    }


    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")

    public void cargarCombos()
    {
        DepartamentoBL objDepartamentoBL= new DepartamentoBL();
        ArrayList<DepartamentoBE> ListaDepartamentos = new ArrayList<DepartamentoBE>();
        ListaDepartamentos = objDepartamentoBL.CargarDepartamento();

        ComboBoxGenerico objComboSeleccione = new ComboBoxGenerico();
        objComboSeleccione.setCodigo(-1);
        objComboSeleccione.setTexto("--Seleccione--");

        this.cmbDepartamento.addItem(objComboSeleccione);
        this.cmbDistrito.addItem(objComboSeleccione);
        this.cmbProvincia.addItem(objComboSeleccione);
        for (DepartamentoBE objDepartamento : ListaDepartamentos){
                ComboBoxGenerico objElementoCombo = new ComboBoxGenerico();
                objElementoCombo.setCodigo(objDepartamento.getCodDepartamento());
                objElementoCombo.setTexto(objDepartamento.getDepartamento());
                this.cmbDepartamento.addItem(objElementoCombo);
            }
    }

    public ArrayList<UsuarioBE> obtenerUsuarios(){
        UsuarioBE objUsaurio=new UsuarioBE();
        objUsaurio.setNombre("");
        objUsaurio.setApellidoMaterno("");
        objUsaurio.setApellidoPaterno("");
        objUsaurio.setNumeroDocumento("");
        objUsaurio.setUsuario("");
        objUsaurio.setCodPerfil(-1);
        try {
           return this.objUsuarioBL.listarUsuario(objUsaurio);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,e.getMessage(),"Excepcion ",JOptionPane.ERROR_MESSAGE);
            return null;
        }
    }

    public void registrarUsuario(){

       if (validarDatos()) {
//            if (!ExisteDocumentoIdentidad()){
                ArrayList<UsuarioBE> arrUsuarios= obtenerUsuarios();
//                if (!ExisteUsuario(arrUsuarios)){
//                    if (!ExisteEmail(arrUsuarios)){
                         try{
                            UsuarioBE objUsuario = new UsuarioBE();
                            almacenarDatos(objUsuario);
                            insertarContraseñaUsuario(objUsuario);
                                 if (this.objUsuarioBL.registrarUsuario(objUsuario,1)){
////                                     // se agrega para auditoria
//                                        //TransaccionBE objTransaccionBE;
//                                        objTransaccionBL = new TransaccionBL();
//                                        objTransaccionDA = new TransaccionDA();  //Quitar luego de iteracion
//                                        Accion="Registrar";
//                                        objUsuario=frmVentanaPrincipal.usuarioActual;
//                                        codlog=frmVentanaPrincipal.logActual;
//                                        codusuario = objUsuario.getCodUsuario();
//                                        int codFormulario=objTransaccionDA.ObtenerCodFormulario(this.getName());
//                                       // int codlog=objLogUsuarioBL.obtenerIdLog();
//                                       // objTransaccionBE = cargarTransaccion(objUsuario,Accion,codmodulo,codusuario,codlog);
//                                         objTransaccionBE = cargarTransaccion(codFormulario, codlog, Accion); //Quitar luego
//                                        resp=objTransaccionBL.registrarTransaccion(objTransaccionBE);
////                                     // fin de lo agregado para auditoria
                                     String texto="El usuario se registro satisfactoriamente";
                                  dlgAvisoExito exito=new dlgAvisoExito(javax.swing.JOptionPane.getFrameForComponent(this),true,texto);
                                  exito.setVisible(true);
                                  this.dispose();
                            }else{
                                String texto="Error al registrar al usuario";
                                dlgAvisoError error=new dlgAvisoError(javax.swing.JOptionPane.getFrameForComponent(this),true, texto);
                                error.setVisible(true);
                            }
                         }catch (Exception ex) {
                            System.out.println("Ocurrio una Excepcion en frmMantenmientoUsuario"+ex.getMessage());
                         }
//                    }
//                    else{
//                        this.txaBarraEstado.setForeground(Color.RED);
//                        this.txaBarraEstado.setText("El Email ya está registrado");
//                    }
//                }else{
//                this.txaBarraEstado.setForeground(Color.RED);
//                this.txaBarraEstado.setText("El Usuario ya está registrado");
//            }
//            }
//            else{
//                 this.txaBarraEstado.setForeground(Color.RED);
//                 this.txaBarraEstado.setText("El Número de Documento ya está registrado");
//                 }
       }else{
       }
    }

//    public TransaccionBE cargarTransaccion(UsuarioBE objUsuarioBE,String Accion,int codmodulo,int codusuario,int codlog){
//     //objTransaccionBE = cargarTransaccion(objUsuario,Accion,codmodulo,codusuario,codlog);
//        Date fecha = new Date();
////        String strFecha= fecha.toString().substring(4,10) + " " + fecha.toString().substring(24,28);
//////             objLogUsuarioAuxBE.setFechaIngreso(strFechaIngreso);
//
//        objTransaccionBE = new TransaccionBE();
//
//        objTransaccionBE.setFecha(fecha);
//        objTransaccionBE.setAccion(Accion);
//        objTransaccionBE.setObjUsuarioBE(objUsuarioBE);
//        objTransaccionBE.setCodModulo(codmodulo);
//        objTransaccionBE.setCodlog(codlog);
//
//
//         return   objTransaccionBE;
//
//    }

    public TransaccionBE cargarTransaccion(int codformulario, int codlog, String Accion){
     //objTransaccionBE = cargarTransaccion(objUsuario,Accion,codmodulo,codusuario,codlog);
        Date fecha = new Date();
//        String strFecha= fecha.toString().substring(4,10) + " " + fecha.toString().substring(24,28);
////             objLogUsuarioAuxBE.setFechaIngreso(strFechaIngreso);

        objTransaccionBE = new TransaccionBE();
        objTransaccionBE.setCodFormulario(codformulario);
        objTransaccionBE.setCodlog(codlog);
        objTransaccionBE.setFecha(fecha);
        objTransaccionBE.setAccion(Accion);

        return objTransaccionBE;

    }


    public void modificarUsuario(UsuarioBE objUsuario){
         if (validarDatos()) {
             try{
                almacenarDatos(objUsuario);
                if (this.objUsuarioBL.modificarUsuario(objUsuario,2)){
                    // se agrega para auditoria
                      objTransaccionBE = new TransaccionBE();
                      objTransaccionBL = new TransaccionBL();
                      Accion="Modificar";

                      objUsuario=frmVentanaPrincipal.usuarioActual;
                       codlog=frmVentanaPrincipal.logActual;
                      codusuario = objUsuario.getCodUsuario();
                      //objTransaccionBE = cargarTransaccion(objUsuario,Accion,codmodulo,codusuario,codlog);
                      resp=objTransaccionBL.registrarTransaccion(objTransaccionBE);
                  // fin de lo agregado para auditoria
                    String texto="EL Usuario se Modifico Satisfactoriamente";
                    dlgAvisoExito exito=new dlgAvisoExito(javax.swing.JOptionPane.getFrameForComponent(this),true, texto);
                    exito.setVisible(true);
                    limpiarControlesPanel();
                    this.dispose();

                }else{
                    String texto2="Error al modificar al usuario";                    
                    dlgAvisoError error=new dlgAvisoError(javax.swing.JOptionPane.getFrameForComponent(this),true, texto2);
                    error.setVisible(true);
                }

             }catch (Exception e) {
                System.out.println("Ocurrio una Excepcion en dlgMantenmientoUsuario"+e.getMessage());
                System.out.println(e.getMessage());
             }
       }else{
             this.txaBarraEstado.setForeground(Color.RED);
            this.txaBarraEstado.setText("ERROR - Debe llenar los campos obligatorios");
       }
    }
    public void eliminarUsuario(UsuarioBE objUsuario){
        if (this.objUsuarioBL.eliminarUsuario(objUsuario,2)){
            JOptionPane.showMessageDialog(null,"EL Usuario se Elimino Correctamente","MENSAJE",JOptionPane.INFORMATION_MESSAGE);
        }else{
            JOptionPane.showMessageDialog(null,"Error al Eliminar Usuario","MENSAJE",JOptionPane.ERROR_MESSAGE);
        }

    }
    /*inicio de codigo de validacion*/
    private boolean validarDatos( ){
        this.txtNombres.setBackground(new JTextField().getBackground());
        this.txtApeMaterno.setBackground(new JTextField().getBackground());
        this.txtApePaterno.setBackground(new JTextField().getBackground());
        this.txtDireccion.setBackground(new JTextField().getBackground());
        this.txtNumDocumento.setBackground(new JTextField().getBackground());
        this.txtEmail.setBackground(new JTextField().getBackground());
        this.txtTelefono.setBackground(new JTextField().getBackground());
        this.txtTelefono.setBackground(new JTextField().getBackground());
        this.txtUsuario.setBackground(new JTextField().getBackground());
        this.cmbDepartamento.setBackground(new JTextField().getBackground());
        this.cmbDistrito.setBackground(new JTextField().getBackground());
        this.cmbPerfil.setBackground(new JTextField().getBackground());
        this.cmbProvincia.setBackground(new JTextField().getBackground());
        this.cmbSexo.setBackground(new JTextField().getBackground());
        if (this.txtNombres.getText().equals("")){
            this.txtNombres.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }
        if (this.txtApePaterno.getText().equals("")){
            this.txtApePaterno.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }
        if (this.txtApeMaterno.getText().equals("")){
            this.txtApeMaterno.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }
        if (this.txtNumDocumento.getText().equals("")){
            this.txtNumDocumento.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }else{
            if(this.txtNumDocumento.getText().length() < 8 ){
                this.intTamañoDocuentoIdentidad=this.txtNumDocumento.getText().length()-1;
                this.txaBarraEstado.setText("El Número de Documento debe ser de 8 Dígitos");
                this.txtNumDocumento.setBackground(Color.YELLOW);
                return false;
            }
        }
         if (this.cmbSexo.getSelectedItem().toString().equals("--Seleccione--")){
            this.cmbSexo.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }
        if (this.txtUsuario.getText().equals("")){
            this.txtUsuario.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }
        if (this.cmbPerfil.getSelectedItem().toString().equals("--Seleccione--")){
            this.cmbPerfil.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }       
        if (this.txtDireccion.getText().equals("")){
            this.txtDireccion.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }
        if (this.cmbDepartamento.getSelectedItem().toString().equals("--Seleccione--")){
            this.cmbDepartamento.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }
        if (this.cmbProvincia.getSelectedItem().toString().equals("--Seleccione--")){
            this.cmbProvincia.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }
        if (this.cmbDistrito.getSelectedItem().toString().equals("--Seleccione--")){
            this.cmbDistrito.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }
         if (this.txtTelefono.getText().equals("")){
            this.txtTelefono.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }
//        if (this.txtEmail.getText().toString().equals("")){
//            this.txtEmail.setBackground(Color.YELLOW);
//            this.txaBarraEstado.setForeground(Color.RED);
//           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
//            return false;
//            }
//        else{
//            String correo = this.txtEmail.getText().toString();
//            Pattern pat = null;
//            Matcher mat = null;
//            pat = Pattern.compile("^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$");
//              mat = pat.matcher(correo);
//            if (!mat.find()) {
//                this.txtEmail.setBackground(Color.YELLOW);
//                this.txaBarraEstado.setForeground(Color.RED);
//           this.txaBarraEstado.setText("Formato de Email incorrecto");
//                return false;
//            }
//        }
        if (this.cmbArea.getSelectedItem().toString().equals("--Seleccione--")){
            this.cmbArea.setBackground(Color.YELLOW);
            this.txaBarraEstado.setForeground(Color.RED);
           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
            return false;
        }
//        if (this.cmbCargo.getSelectedItem().toString().equals("--Seleccione--")){
//            this.cmbCargo.setBackground(Color.YELLOW);
//            this.txaBarraEstado.setForeground(Color.RED);
//           this.txaBarraEstado.setText("Debe llenar los campos obligatorios");
//            return false;
//        }
        return true;
    }
    private boolean ExisteDocumentoIdentidad(){
        UsuarioBE objUsaurio=new UsuarioBE();
        PerfilBE objPerfil= new PerfilBE();
        objPerfil.setCodPerfil(-1);
        objUsaurio.setCodPerfil(-1);
        objUsaurio.setNombre("");
        objUsaurio.setApellidoMaterno("");
        objUsaurio.setApellidoPaterno("");
        objUsaurio.setNumeroDocumento(this.txtNumDocumento.getText());
        ArrayList<UsuarioBE> arrUsuarios = new ArrayList<UsuarioBE>();
        try {
           arrUsuarios=this.objUsuarioBL.listarUsuario(objUsaurio);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,e.getMessage(),"Excepcion ",JOptionPane.ERROR_MESSAGE);
        }
         if(arrUsuarios.size()>0){
             for(UsuarioBE obj : arrUsuarios){
                 if(obj.getNumeroDocumento().equals(this.txtNumDocumento.getText()) && obj.getEstado().equals("Activo")){
                     this.txtNumDocumento.setBackground(Color.YELLOW);
                     this.txaBarraEstado.setForeground(Color.RED);
                     this.txaBarraEstado.setText("ERROR - Número de Documento de Identidad Existente");
                     return true;
                 }
             }
         }
         return false;
    }

    private boolean ExisteUsuario(ArrayList<UsuarioBE> arrUsuarios){
         if(arrUsuarios.size()>0){
             for(UsuarioBE obj : arrUsuarios){
                if(obj.getUsuario().equals(this.txtUsuario.getText())&& obj.getEstado().equals("ACTIVO")){
                    this.txtUsuario.setBackground(Color.YELLOW);
                    return true;
                }
             }
         }
         return false;
    }
    private boolean ExisteEmail(ArrayList<UsuarioBE> arrUsuarios){
         if(arrUsuarios.size()>0){
             for(UsuarioBE obj : arrUsuarios){
                 if(obj.getEmail().equals(this.txtEmail.getText()) && obj.getEstado().equals("ACTIVO")){
                     this.txtEmail.setBackground(Color.YELLOW);
                     return true;
                 }
             }
         }
         return false;
    }
    /*fin de codigo de validacion*/

    private void inhabilitarControlesPanel(){
        this.txtNombres.setEditable(false);
        this.txtApeMaterno.setEditable(false);
        this.txtApePaterno.setEditable(false);
        this.txtDireccion.setEditable(false);
        this.txtNumDocumento.setEditable(false);
        this.txtEmail.setEditable(false);
        this.txtTelefono.setEditable(false);
        this.txtUsuario.setEditable(false);
        this.cmbDepartamento.setEnabled(false);
        this.cmbProvincia.setEnabled(false);
        this.cmbDistrito.setEnabled(false);
        this.cmbSexo.setEnabled(false);
    }
    private void habilitarControlesPanel(){
        this.txtNombres.setEnabled(true);
        this.txtApeMaterno.setEnabled(true);
        this.txtApePaterno.setEnabled(true);
        this.txtDireccion.setEnabled(true);
        this.txtNumDocumento.setEnabled(true);
        this.txtEmail.setEnabled(true);
        this.txtTelefono.setEnabled(true);
        this.txtUsuario.setEnabled(true);
        this.cmbSexo.setEnabled(true);
    }
    private void limpiarControlesPanel(){
        this.txtNombres.setText("");
        this.txtApeMaterno.setText("");
        this.txtApePaterno.setText("");
        this.txtNumDocumento.setText("");
        this.txtUsuario.setText("");
        this.txtDireccion.setText("");
        this.cmbDepartamento.setSelectedIndex(0);
        this.cmbProvincia.setSelectedIndex(0);
        this.cmbDistrito.setSelectedIndex(0);
        this.cmbSexo.setSelectedIndex(0);
        this.txtEmail.setText("");
        this.txtTelefono.setText("");
        this.lblDepartamento.setVisible(false);
        this.cmbDepartamento.setVisible(false);
        this.lblProvincia.setVisible(false);
        this.cmbProvincia.setVisible(false);
        this.lblDistrito.setVisible(false);
        this.cmbDistrito.setVisible(false);
    }
    private void cargarDatosPanel(UsuarioBE obj){
        if(this.intModo==4){
           this.inhabilitarControlesPanel();
           this.btnRegistrar.setEnabled(false);
            this.btnRegistrar.setVisible(false);
        }
        UsuarioBE objUsuario = new UsuarioBE();
        objUsuario= objUsuarioBL.buscarUsuarioInt(obj.getCodUsuario());
        this.txtUsuario.setEditable(false);
        this.txtNombres.setText(objUsuario.getNombre());
        this.txtApeMaterno.setText(objUsuario.getApellidoMaterno());
        this.txtApePaterno.setText(objUsuario.getApellidoPaterno());
        this.txtDireccion.setText(objUsuario.getDireccion());
        this.txtNumDocumento.setText(objUsuario.getNumeroDocumento());
        this.txtEmail.setText(objUsuario.getEmail());
        this.txtTelefono.setText(objUsuario.getTelefono());
        this.txtUsuario.setText(objUsuario.getUsuario());
        if(objUsuario.getSexo()=='F')
            this.cmbSexo.setSelectedIndex(1);
        else{
            if(objUsuario.getSexo()=='M')
            this.cmbSexo.setSelectedIndex(2);
        }           
            this.cmbArea.setSelectedIndex(objUsuario.getCodArea());
            PerfilBE objPerfilBE = new PerfilBE();
            PerfilBL objPerfilBL = new PerfilBL();
            objPerfilBE = objPerfilBL.buscarPerfil(objUsuario.getCodPerfil());
            this.cmbPerfil.setSelectedItem(objPerfilBE.getPerfil());
            this.cmbDepartamento.setSelectedIndex(1);
            this.cmbProvincia.setSelectedIndex(1);
            this.cmbDistrito.setSelectedIndex(objUsuario.getCodDistrito());
    }
    private void almacenarDatos(UsuarioBE objUsuario){
        objUsuario.setNombre(this.txtNombres.getText());
        objUsuario.setApellidoPaterno(this.txtApePaterno.getText());
        objUsuario.setApellidoMaterno(this.txtApeMaterno.getText());
        objUsuario.setTelefono(this.txtTelefono.getText());
        objUsuario.setDireccion(this.txtDireccion.getText());
        objUsuario.setEmail(this.txtEmail.getText());
        //objUsuario.setCodCargo(this.cmbCargo.getSelectedIndex());
        objUsuario.setSexo(this.cmbSexo.getSelectedItem().toString().charAt(0));
        objUsuario.setCodArea(this.cmbArea.getSelectedIndex());
        objUsuario.setCodDistrito(this.cmbDistrito.getSelectedIndex());
        objUsuario.setUsuario(this.txtUsuario.getText());
        objUsuario.setEstado("Activo");
        PerfilBE objPerfilBE = new PerfilBE();
        PerfilBL objPerfilBL = new PerfilBL();
        objPerfilBE=objPerfilBL.buscarPerfilNombre(this.cmbPerfil.getSelectedItem().toString());
        objUsuario.setCodPerfil(objPerfilBE.getCodPerfil());
        objUsuario.setNumeroDocumento(this.txtNumDocumento.getText());      
    }

    private void insertarContraseñaUsuario(UsuarioBE objUsuario){
        String strClaveNueva=null;
            try{
                strClaveNueva=generadorContrasenha.getPassword(
                                    generadorContrasenha.NUMEROS+
                                    generadorContrasenha.MINUSCULAS+
                                    generadorContrasenha.MAYUSCULAS+
                                    generadorContrasenha.ESPECIALES,
                                    (this.intCantidadCaracteresMaximo+this.intCantidadCaracteresMinimo)/2
                              );
            }catch (Exception e) {
                 JOptionPane.showMessageDialog(null,e.getMessage(),"Error en Encriptar Contraseña",JOptionPane.ERROR_MESSAGE);
            }
        try {
            EnvioContrasenha.enviarCorreo(objUsuario.getEmail(), strClaveNueva);
        } catch (Exception ex) {
            System.out.println("No se pudo enviar la contraseña");
        }
        byte[] byteContrasenhaEncriptada= objEncriptador.getHash(strClaveNueva);
        String strContrasenhaEncriptada ="";
        for (int i=0;i<byteContrasenhaEncriptada.length;i++){
            strContrasenhaEncriptada +=byteContrasenhaEncriptada[i];
        }

        objUsuario.setPassword(strContrasenhaEncriptada);
        try{
            int codUsuario=this.objUsuarioBL.obtenerIdUsuario();
                JOptionPane.showMessageDialog(null,objUsuario.getUsuario()+" tiene contraseña " + strClaveNueva,"El Usuario se Registro Correctamente",JOptionPane.INFORMATION_MESSAGE);
         }catch (Exception e) {
            System.out.println("Ocurrio una Excepcion en registrar contraseña"+e.getMessage());
         }
    }

   
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        pnlUsuario = new javax.swing.JPanel();
        pnlDatosPersonales = new javax.swing.JPanel();
        lblNombres = new javax.swing.JLabel();
        lblApePaterno = new javax.swing.JLabel();
        lblApeMaterno = new javax.swing.JLabel();
        txtNombres = new javax.swing.JTextField();
        txtApePaterno = new javax.swing.JTextField();
        txtApeMaterno = new javax.swing.JTextField();
        lblTipoDocumento = new javax.swing.JLabel();
        lblNumDocumento = new javax.swing.JLabel();
        lblSexo = new javax.swing.JLabel();
        cmbSexo = new javax.swing.JComboBox();
        txtNumDocumento = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        pnlDatosAcceso = new javax.swing.JPanel();
        lblUsuario = new javax.swing.JLabel();
        lblPerfil = new javax.swing.JLabel();
        txtUsuario = new javax.swing.JTextField();
        cmbPerfil = new javax.swing.JComboBox();
        pnlOtrosDatos = new javax.swing.JPanel();
        lblDireccion = new javax.swing.JLabel();
        lblDepartamento = new javax.swing.JLabel();
        lblProvincia = new javax.swing.JLabel();
        lblDistrito = new javax.swing.JLabel();
        lblTelefono = new javax.swing.JLabel();
        lblEmail = new javax.swing.JLabel();
        lblArea = new javax.swing.JLabel();
        txtDireccion = new javax.swing.JTextField();
        cmbDepartamento = new javax.swing.JComboBox();
        cmbProvincia = new javax.swing.JComboBox();
        cmbDistrito = new javax.swing.JComboBox();
        txtTelefono = new javax.swing.JTextField();
        txtEmail = new javax.swing.JTextField();
        cmbArea = new javax.swing.JComboBox();
        jLabel9 = new javax.swing.JLabel();
        btnLimpiar = new javax.swing.JButton();
        btnCancelar = new javax.swing.JButton();
        btnRegistrar = new javax.swing.JButton();
        txaBarraEstado = new javax.swing.JTextArea();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Usuario");

        pnlUsuario.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Usuario", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("DejaVu Sans", 0, 12), java.awt.Color.blue)); // NOI18N

        pnlDatosPersonales.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Datos Personales", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("DejaVu Sans", 0, 12), java.awt.Color.blue)); // NOI18N

        lblNombres.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblNombres.setText("Nombres (*): ");

        lblApePaterno.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblApePaterno.setText("Apellido Paterno (*) : ");

        lblApeMaterno.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblApeMaterno.setText("Apellido Materno (*) :");

        txtNombres.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        txtNombres.setNextFocusableComponent(txtApePaterno);
        txtNombres.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                txtNombresFocusGained(evt);
            }
        });
        txtNombres.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtNombresKeyTyped(evt);
            }
        });

        txtApePaterno.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        txtApePaterno.setNextFocusableComponent(txtApeMaterno);
        txtApePaterno.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                txtApePaternoFocusGained(evt);
            }
        });
        txtApePaterno.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtApePaternoKeyTyped(evt);
            }
        });

        txtApeMaterno.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        txtApeMaterno.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                txtApeMaternoFocusGained(evt);
            }
        });
        txtApeMaterno.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtApeMaternoKeyTyped(evt);
            }
        });

        lblTipoDocumento.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblTipoDocumento.setText("Tipo Documento (*):");

        lblNumDocumento.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblNumDocumento.setText("Numero de Documento (*) :");

        lblSexo.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblSexo.setText("Sexo (*) :");

        cmbSexo.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        cmbSexo.setNextFocusableComponent(txtUsuario);
        cmbSexo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmbSexoActionPerformed(evt);
            }
        });

        txtNumDocumento.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        txtNumDocumento.setNextFocusableComponent(cmbSexo);
        txtNumDocumento.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                txtNumDocumentoFocusGained(evt);
            }
        });
        txtNumDocumento.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtNumDocumentoKeyTyped(evt);
            }
        });

        jLabel1.setText("DNI");
        jLabel1.setName("lblTipoDocumento"); // NOI18N

        javax.swing.GroupLayout pnlDatosPersonalesLayout = new javax.swing.GroupLayout(pnlDatosPersonales);
        pnlDatosPersonales.setLayout(pnlDatosPersonalesLayout);
        pnlDatosPersonalesLayout.setHorizontalGroup(
            pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlDatosPersonalesLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblNombres)
                    .addComponent(lblApePaterno)
                    .addComponent(lblApeMaterno))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(txtApeMaterno, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtApePaterno, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtNombres, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(56, 56, 56)
                .addGroup(pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblSexo)
                    .addComponent(lblTipoDocumento)
                    .addComponent(lblNumDocumento))
                .addGap(28, 28, 28)
                .addGroup(pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(txtNumDocumento, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(cmbSexo, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jLabel1))
                .addContainerGap(30, Short.MAX_VALUE))
        );
        pnlDatosPersonalesLayout.setVerticalGroup(
            pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlDatosPersonalesLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(pnlDatosPersonalesLayout.createSequentialGroup()
                        .addGroup(pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtNombres, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblNombres))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtApePaterno, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblApePaterno))
                        .addGap(4, 4, 4)
                        .addGroup(pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtApeMaterno, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblApeMaterno)))
                    .addGroup(pnlDatosPersonalesLayout.createSequentialGroup()
                        .addGroup(pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblTipoDocumento)
                            .addComponent(jLabel1))
                        .addGap(11, 11, 11)
                        .addGroup(pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblNumDocumento)
                            .addComponent(txtNumDocumento, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(pnlDatosPersonalesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblSexo)
                            .addComponent(cmbSexo, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pnlDatosAcceso.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Datos de Acceso", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("DejaVu Sans", 0, 12), java.awt.Color.blue)); // NOI18N

        lblUsuario.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblUsuario.setText("Usuario (*)");

        lblPerfil.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblPerfil.setText("Perfil de Usuario (*) :");

        txtUsuario.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        txtUsuario.setNextFocusableComponent(cmbPerfil);
        txtUsuario.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                txtUsuarioFocusGained(evt);
            }
        });
        txtUsuario.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtUsuarioKeyTyped(evt);
            }
        });

        cmbPerfil.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        cmbPerfil.setNextFocusableComponent(txtDireccion);
        cmbPerfil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmbPerfilActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout pnlDatosAccesoLayout = new javax.swing.GroupLayout(pnlDatosAcceso);
        pnlDatosAcceso.setLayout(pnlDatosAccesoLayout);
        pnlDatosAccesoLayout.setHorizontalGroup(
            pnlDatosAccesoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlDatosAccesoLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblUsuario)
                .addGap(81, 81, 81)
                .addComponent(txtUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(58, 58, 58)
                .addComponent(lblPerfil)
                .addGap(68, 68, 68)
                .addComponent(cmbPerfil, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(28, Short.MAX_VALUE))
        );
        pnlDatosAccesoLayout.setVerticalGroup(
            pnlDatosAccesoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlDatosAccesoLayout.createSequentialGroup()
                .addGap(19, 19, 19)
                .addGroup(pnlDatosAccesoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblUsuario)
                    .addComponent(lblPerfil)
                    .addComponent(cmbPerfil, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(14, Short.MAX_VALUE))
        );

        pnlOtrosDatos.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Otros Datos", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("DejaVu Sans", 0, 12), java.awt.Color.blue)); // NOI18N

        lblDireccion.setFont(new java.awt.Font("DejaVu Sans", 0, 12)); // NOI18N
        lblDireccion.setText("Dirección (*) :");
        lblDireccion.setName("lblDireccion"); // NOI18N

        lblDepartamento.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblDepartamento.setText("Departamento(*) :");
        lblDepartamento.setName("lblPais"); // NOI18N

        lblProvincia.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblProvincia.setText("Provincia(*) :");
        lblProvincia.setName("lblPais"); // NOI18N

        lblDistrito.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblDistrito.setText("Distrito(*) :");
        lblDistrito.setName("lblPais"); // NOI18N

        lblTelefono.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblTelefono.setText("Teléfono (*) :");
        lblTelefono.setName("lblTelefono"); // NOI18N

        lblEmail.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        lblEmail.setText("Email (*) :");
        lblEmail.setName("lblEmail"); // NOI18N

        lblArea.setFont(new java.awt.Font("DejaVu Sans", 0, 12)); // NOI18N
        lblArea.setText("Área (*) :");
        lblArea.setName("lblEmail"); // NOI18N

        txtDireccion.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        txtDireccion.setNextFocusableComponent(cmbDepartamento);
        txtDireccion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtDireccionActionPerformed(evt);
            }
        });
        txtDireccion.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtDireccionKeyTyped(evt);
            }
        });

        cmbDepartamento.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        cmbDepartamento.setNextFocusableComponent(cmbProvincia);
        cmbDepartamento.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmbDepartamentoActionPerformed(evt);
            }
        });

        cmbProvincia.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        cmbProvincia.setNextFocusableComponent(cmbDistrito);
        cmbProvincia.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmbProvinciaActionPerformed(evt);
            }
        });

        cmbDistrito.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        cmbDistrito.setNextFocusableComponent(txtTelefono);
        cmbDistrito.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmbDistritoActionPerformed(evt);
            }
        });

        txtTelefono.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        txtTelefono.setNextFocusableComponent(txtEmail);
        txtTelefono.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtTelefonoActionPerformed(evt);
            }
        });
        txtTelefono.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtTelefonoKeyTyped(evt);
            }
        });

        txtEmail.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        txtEmail.setNextFocusableComponent(cmbArea);
        txtEmail.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                txtEmailFocusGained(evt);
            }
        });
        txtEmail.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtEmailKeyTyped(evt);
            }
        });

        cmbArea.setFont(new java.awt.Font("DejaVu Sans", 0, 12));

        javax.swing.GroupLayout pnlOtrosDatosLayout = new javax.swing.GroupLayout(pnlOtrosDatos);
        pnlOtrosDatos.setLayout(pnlOtrosDatosLayout);
        pnlOtrosDatosLayout.setHorizontalGroup(
            pnlOtrosDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlOtrosDatosLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(pnlOtrosDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblDireccion)
                    .addComponent(lblDepartamento, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblProvincia, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblDistrito, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(12, 12, 12)
                .addGroup(pnlOtrosDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(cmbProvincia, 0, 176, Short.MAX_VALUE)
                    .addComponent(cmbDepartamento, 0, 176, Short.MAX_VALUE)
                    .addComponent(txtDireccion, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
                    .addComponent(cmbDistrito, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(59, 59, 59)
                .addGroup(pnlOtrosDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblEmail)
                    .addComponent(lblTelefono)
                    .addComponent(lblArea))
                .addGap(112, 112, 112)
                .addGroup(pnlOtrosDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(txtEmail, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
                    .addComponent(cmbArea, javax.swing.GroupLayout.Alignment.LEADING, 0, 176, Short.MAX_VALUE)
                    .addComponent(txtTelefono, javax.swing.GroupLayout.Alignment.LEADING))
                .addGap(30, 30, 30))
        );
        pnlOtrosDatosLayout.setVerticalGroup(
            pnlOtrosDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlOtrosDatosLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(pnlOtrosDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblDireccion)
                    .addGroup(pnlOtrosDatosLayout.createSequentialGroup()
                        .addGroup(pnlOtrosDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtDireccion, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblTelefono))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(pnlOtrosDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(cmbDepartamento, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblDepartamento)
                            .addComponent(lblEmail))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(pnlOtrosDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(cmbProvincia, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblProvincia)
                            .addComponent(lblArea))
                        .addGap(6, 6, 6)
                        .addGroup(pnlOtrosDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(cmbDistrito, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblDistrito)))
                    .addGroup(pnlOtrosDatosLayout.createSequentialGroup()
                        .addComponent(txtTelefono, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txtEmail, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(cmbArea, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(15, Short.MAX_VALUE))
        );

        jLabel9.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jLabel9.setText("(*) Datos Obligatorios ");

        javax.swing.GroupLayout pnlUsuarioLayout = new javax.swing.GroupLayout(pnlUsuario);
        pnlUsuario.setLayout(pnlUsuarioLayout);
        pnlUsuarioLayout.setHorizontalGroup(
            pnlUsuarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlUsuarioLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(pnlUsuarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jLabel9, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(pnlDatosAcceso, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(pnlDatosPersonales, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(pnlOtrosDatos, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 810, Short.MAX_VALUE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        pnlUsuarioLayout.setVerticalGroup(
            pnlUsuarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlUsuarioLayout.createSequentialGroup()
                .addComponent(pnlDatosPersonales, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(pnlDatosAcceso, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(pnlOtrosDatos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel9, javax.swing.GroupLayout.DEFAULT_SIZE, 27, Short.MAX_VALUE))
        );

        btnLimpiar.setFont(new java.awt.Font("DejaVu Sans", 1, 12));
        btnLimpiar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Limpiar.png"))); // NOI18N
        btnLimpiar.setText("Limpiar");
        btnLimpiar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLimpiarActionPerformed(evt);
            }
        });

        btnCancelar.setFont(new java.awt.Font("DejaVu Sans", 0, 12)); // NOI18N
        btnCancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Cancelar.png"))); // NOI18N
        btnCancelar.setText("Cancelar");
        btnCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCancelarActionPerformed(evt);
            }
        });

        btnRegistrar.setFont(new java.awt.Font("DejaVu Sans", 1, 12));
        btnRegistrar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Guardar.png"))); // NOI18N
        btnRegistrar.setText("Registrar");
        btnRegistrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnRegistrarActionPerformed(evt);
            }
        });

        txaBarraEstado.setBackground(new java.awt.Color(204, 204, 204));
        txaBarraEstado.setColumns(20);
        txaBarraEstado.setFont(new java.awt.Font("Dialog", 1, 12));
        txaBarraEstado.setRows(5);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(txaBarraEstado, javax.swing.GroupLayout.PREFERRED_SIZE, 866, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                            .addComponent(btnRegistrar)
                            .addGap(18, 18, 18)
                            .addComponent(btnLimpiar)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(btnCancelar))
                        .addComponent(pnlUsuario, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnRegistrar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnLimpiar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnCancelar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(pnlUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(txaBarraEstado, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents
//FALTAAAAAAAAAA
    private void btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLimpiarActionPerformed
        this.txtNombres.setText("");
        this.txtApeMaterno.setText("");
        this.txtApePaterno.setText("");
        this.txtNumDocumento.setText("");
        this.txtUsuario.setText("");
        this.txtDireccion.setText("");
        this.cmbDepartamento.setSelectedIndex(0);
        this.cmbPerfil.setSelectedIndex(0);
        this.cmbArea.setSelectedIndex(0);
       //this.cmbCargo.setSelectedIndex(0);
        this.cmbSexo.setSelectedIndex(0);
        this.cmbProvincia.setSelectedIndex(0);
        this.cmbDistrito.setSelectedIndex(0);
        this.cmbSexo.setSelectedIndex(0);
        this.txtEmail.setText("");
        this.txtTelefono.setText("");

}//GEN-LAST:event_btnLimpiarActionPerformed

    private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed
        this.dispose();
}//GEN-LAST:event_btnCancelarActionPerformed

    private void btnRegistrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnRegistrarActionPerformed

        dlgAvisoConfirmacion aviso=new dlgAvisoConfirmacion(javax.swing.JOptionPane.getFrameForComponent(this),true,"Desea continuar con la operacion?");
        aviso.setVisible(true);

        if (aviso.getReturnStatus()==1){
            if (intModo==1) {
                registrarUsuario();
            }//para registrar
            if (intModo==2) {
                modificarUsuario(objUsuarioBE);
            }//para modificar
        }

}//GEN-LAST:event_btnRegistrarActionPerformed


    ////////////////////////////////////////////////////////////////////////////

    /////////////////////////////VALIDACIONES///////////////////////////////////

    ////////////////////////////////////////////////////////////////////////////


    private void cmbDepartamentoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmbDepartamentoActionPerformed
        ProvinciaBL objProvinciaBL= new ProvinciaBL();
        ArrayList<ProvinciaBE> ListaProvincias = new ArrayList<ProvinciaBE>();
        ComboBoxGenerico cb = null;
        if (toqueDepartamento==0){
            cb =((ComboBoxGenerico)(cmbDepartamento.getItemAt(0)));
        }
        if (toqueDepartamento==1){
            cb =((ComboBoxGenerico)(cmbDepartamento.getSelectedItem()));
        }
        DepartamentoSeleccionado.setCodDepartamento(cb.getCodigo());
        DepartamentoSeleccionado.setDepartamento(cb.getTexto());
        ListaProvincias = objProvinciaBL.CargarProvincia(  DepartamentoSeleccionado );

        for (ProvinciaBE objProvincia : ListaProvincias){
                ComboBoxGenerico objElementoCombo = new ComboBoxGenerico();
                objElementoCombo.setCodigo(objProvincia.getCodProvincia());
                objElementoCombo.setTexto(objProvincia.getProvincia());
                this.cmbProvincia.addItem(objElementoCombo);
            }
        toqueDepartamento=1;
    }//GEN-LAST:event_cmbDepartamentoActionPerformed

    private void cmbProvinciaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmbProvinciaActionPerformed
        // TODO add your handling code here:
    DistritoBL objDistritoBL= new DistritoBL();
    ArrayList<DistritoBE> ListaDistritos = new ArrayList<DistritoBE>();
    ComboBoxGenerico cb = null;
    cb =((ComboBoxGenerico)(cmbProvincia.getSelectedItem()));
    if (cb.getTexto()!="--Seleccione--")
    {
        ProvinciaSeleccionado.setCodProvincia(cb.getCodigo());
        ProvinciaSeleccionado.setProvincia(cb.getTexto());
        ListaDistritos=objDistritoBL.CargarDistrito(ProvinciaSeleccionado);
        for (DistritoBE objDistrito : ListaDistritos){
            ComboBoxGenerico objElementoCombo = new ComboBoxGenerico();
            objElementoCombo.setCodigo(objDistrito.getCodDistrito());
            objElementoCombo.setTexto(objDistrito.getDistrito());
            this.cmbDistrito.addItem(objElementoCombo);
        }

    }
    }//GEN-LAST:event_cmbProvinciaActionPerformed

    private void txtNombresKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombresKeyTyped
        // TODO add your handling code here:
        char caracter = evt.getKeyChar();
        this.intTamañoNombres=this.txtNombres.getText().length()+1;
        if( (caracter >= '0') && (caracter <= '9') ){
            evt.consume(); // ignorar el evento de teclado
        }

        if (this.intTamañoNombres > 50){
            evt.consume();
        }
        if ((caracter == '\b') && (this.intTamañoNombres > 1)){
            this.intTamañoNombres -= 1;
        } else
            if ( (this.intTamañoNombres <=50) && (caracter != '\b')
                 && ( (caracter < '0') || (caracter > '9')) ){
            this.intTamañoNombres += 1;
        }

    }//GEN-LAST:event_txtNombresKeyTyped

    private void txtApePaternoKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtApePaternoKeyTyped
        // TODO add your handling code here:
            char caracter = evt.getKeyChar();
        this.intTamañoApellidoPaterno=this.txtApePaterno.getText().length()+1;
        if( (caracter >= '0') && (caracter <= '9') ){
            evt.consume(); // ignorar el evento de teclado
        }
        if (this.intTamañoApellidoPaterno > 50){
            evt.consume();
        }
        if ((caracter == '\b') && (this.intTamañoApellidoPaterno > 1)){
            this.intTamañoApellidoPaterno -= 1;
        } else
            if ( (this.intTamañoApellidoPaterno <=50) && (caracter != '\b')
                 && ( (caracter < '0') || (caracter > '9')) ){
                    this.intTamañoApellidoPaterno += 1;
        }
    }//GEN-LAST:event_txtApePaternoKeyTyped

    private void txtApeMaternoKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtApeMaternoKeyTyped
        // TODO add your handling code here:
         char caracter = evt.getKeyChar();
        this.intTamañoApellidoMaterno=this.txtApeMaterno.getText().length()+1;
        if( (caracter >= '0') && (caracter <= '9') ){
            evt.consume(); // ignorar el evento de teclado
        }
        if (this.intTamañoApellidoMaterno > 50){
            evt.consume();
        }
        if ((caracter == '\b') && (this.intTamañoApellidoMaterno > 1)){
            this.intTamañoApellidoMaterno -= 1;
        } else
            if ( (this.intTamañoApellidoMaterno <=50) && (caracter != '\b')
                 && ( (caracter < '0') || (caracter > '9'))){
                    this.intTamañoApellidoMaterno += 1;
        }
    }//GEN-LAST:event_txtApeMaternoKeyTyped

    private void txtNumDocumentoKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNumDocumentoKeyTyped
        // TODO add your handling code here:
        char caracter = evt.getKeyChar();
        this.intTamañoDocuentoIdentidad=this.txtNumDocumento.getText().length()+1;
        if( (caracter < '0') || (caracter > '9') ){
            evt.consume(); // ignorar el evento de teclado
        }
        if (this.intTamañoDocuentoIdentidad > 8) {
                evt.consume();
        }
        if ((caracter == '\b') && (this.intTamañoDocuentoIdentidad > 1))  {
            this.intTamañoDocuentoIdentidad -= 1;
        }else{
            if ( (this.intTamañoDocuentoIdentidad <=8) && (caracter != '\b')
                  && ( (caracter >= '0') && (caracter <= '9') ) ){
                this.intTamañoDocuentoIdentidad += 1;
            }
        }
    }//GEN-LAST:event_txtNumDocumentoKeyTyped

    private void txtUsuarioKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtUsuarioKeyTyped
        // TODO add your handling code here:
        char caracter = evt.getKeyChar();
        this.intTamañoUsuario=this.txtUsuario.getText().length()+1;
        if (this.intTamañoUsuario > 50){
            evt.consume();
        }
        if ((caracter == '\b') && (this.intTamañoUsuario > 1)){
            this.intTamañoUsuario -= 1;
        } else if ((this.intTamañoUsuario <=50) && (caracter != '\b')){
            this.intTamañoUsuario += 1;
        }
    }//GEN-LAST:event_txtUsuarioKeyTyped

    private void txtDireccionKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtDireccionKeyTyped
        // TODO add your handling code here:
        char caracter = evt.getKeyChar();
        this.intTamañoDireccion=this.txtDireccion.getText().length()+1;
        if (this.intTamañoDireccion > 100){
            evt.consume();
        }
        if ((caracter == '\b') && (this.intTamañoDireccion > 1)){
            this.intTamañoDireccion -= 1;
        } else if ((this.intTamañoDireccion <=100) && (caracter != '\b')){
            this.intTamañoDireccion += 1;
        }
    }//GEN-LAST:event_txtDireccionKeyTyped

    private void txtTelefonoKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtTelefonoKeyTyped
        // TODO add your handling code here:
          char caracter = evt.getKeyChar();
        this.intTamañoTelefonoPrincipal=this.txtTelefono.getText().length()+1;
       if( (caracter < '0') || (caracter > '9') ){
            evt.consume(); // ignorar el evento de teclado
        }
        if (this.intTamañoTelefonoPrincipal > 15){
            evt.consume();
        }
        if ((caracter == '\b') && (this.intTamañoTelefonoPrincipal > 1)){
            this.intTamañoTelefonoPrincipal -= 1;
        } else
            if ( (this.intTamañoTelefonoPrincipal <=15) && (caracter != '\b')
                 && ( (caracter >= '0') && (caracter <= '9') ) ){
                this.intTamañoTelefonoPrincipal += 1;
        }
    }//GEN-LAST:event_txtTelefonoKeyTyped

    private void txtEmailKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtEmailKeyTyped
        // TODO add your handling code here:
        char caracter = evt.getKeyChar();
        this.intTamañoEmail=this.txtEmail.getText().length()+1;
        if (this.intTamañoEmail > 50){
            evt.consume();
        }
        if ((caracter == '\b') && (this.intTamañoEmail > 1)){
            this.intTamañoEmail -= 1;
        } else if ((this.intTamañoEmail <=50) && (caracter != '\b')){
            this.intTamañoEmail += 1;
        }
    }//GEN-LAST:event_txtEmailKeyTyped

    private void txtNombresFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtNombresFocusGained
        // TODO add your handling code here:
        this.txaBarraEstado.setForeground(Color.BLACK);
        this.txaBarraEstado.setText("Nombres del Usuario. (Campo Obligatorio)");
    }//GEN-LAST:event_txtNombresFocusGained

    private void txtApePaternoFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtApePaternoFocusGained
        // TODO add your handling code here:
        this.txaBarraEstado.setForeground(Color.BLACK);
        this.txaBarraEstado.setText("Apellido Paterno del Usuario. (Campo Obligatorio)");
    }//GEN-LAST:event_txtApePaternoFocusGained

    private void txtApeMaternoFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtApeMaternoFocusGained
        // TODO add your handling code here:
        this.txaBarraEstado.setForeground(Color.BLACK);
        this.txaBarraEstado.setText("Apellido Materno del Usuario. (Campo Obligatorio)");
    }//GEN-LAST:event_txtApeMaternoFocusGained

    private void txtNumDocumentoFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtNumDocumentoFocusGained
        // TODO add your handling code here:
        this.txaBarraEstado.setForeground(Color.BLACK);
        this.txaBarraEstado.setText("Número de Documento del Usuario. (Campo Obligatorio)");
    }//GEN-LAST:event_txtNumDocumentoFocusGained

    private void txtUsuarioFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtUsuarioFocusGained
        // TODO add your handling code here:
        this.txaBarraEstado.setForeground(Color.BLACK);
        this.txaBarraEstado.setText("Usuario para su Loggeo al Sistema. (Campo Obligatorio)");
    }//GEN-LAST:event_txtUsuarioFocusGained

    private void cmbPerfilActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmbPerfilActionPerformed
        // TODO add your handling code here:
        this.txaBarraEstado.setForeground(Color.BLACK);
        this.txaBarraEstado.setText("Tipo de Usuario con que será Registrado. (Campo Obligatorio)");
    }//GEN-LAST:event_cmbPerfilActionPerformed

    private void txtDireccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtDireccionActionPerformed
        // TODO add your handling code here:
        this.txaBarraEstado.setForeground(Color.BLACK);
        this.txaBarraEstado.setText("Dirección del Usuario. (Campo Obligatorio)");
    }//GEN-LAST:event_txtDireccionActionPerformed

    private void cmbSexoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmbSexoActionPerformed
        // TODO add your handling code here:
        this.txaBarraEstado.setForeground(Color.BLACK);
        this.txaBarraEstado.setText("Sexo del Usuario. (Campo Obligatorio)");
    }//GEN-LAST:event_cmbSexoActionPerformed

    private void txtTelefonoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtTelefonoActionPerformed
        // TODO add your handling code here:
        this.txaBarraEstado.setForeground(Color.BLACK);
        this.txaBarraEstado.setText("Telefono Principal del Usuario. (Campo Obligatorio)");
    }//GEN-LAST:event_txtTelefonoActionPerformed

    private void txtEmailFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtEmailFocusGained
        // TODO add your handling code here:
           this.txaBarraEstado.setForeground(Color.BLACK);
           this.txaBarraEstado.setText("Email del Usuario. (Campo Obligatorio) ");
    }//GEN-LAST:event_txtEmailFocusGained

    private void cmbDistritoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmbDistritoActionPerformed
        // TODO add your handling code here:
        this.txaBarraEstado.setForeground(Color.BLACK);
        this.txaBarraEstado.setText("Distrito del Usuario. (Campo Obligatorio)");
    }//GEN-LAST:event_cmbDistritoActionPerformed


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnCancelar;
    private javax.swing.JButton btnLimpiar;
    private javax.swing.JButton btnRegistrar;
    private javax.swing.JComboBox cmbArea;
    private javax.swing.JComboBox cmbDepartamento;
    private javax.swing.JComboBox cmbDistrito;
    private javax.swing.JComboBox cmbPerfil;
    private javax.swing.JComboBox cmbProvincia;
    private javax.swing.JComboBox cmbSexo;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JLabel lblApeMaterno;
    private javax.swing.JLabel lblApePaterno;
    private javax.swing.JLabel lblArea;
    private javax.swing.JLabel lblDepartamento;
    private javax.swing.JLabel lblDireccion;
    private javax.swing.JLabel lblDistrito;
    private javax.swing.JLabel lblEmail;
    private javax.swing.JLabel lblNombres;
    private javax.swing.JLabel lblNumDocumento;
    private javax.swing.JLabel lblPerfil;
    private javax.swing.JLabel lblProvincia;
    private javax.swing.JLabel lblSexo;
    private javax.swing.JLabel lblTelefono;
    private javax.swing.JLabel lblTipoDocumento;
    private javax.swing.JLabel lblUsuario;
    private javax.swing.JPanel pnlDatosAcceso;
    private javax.swing.JPanel pnlDatosPersonales;
    private javax.swing.JPanel pnlOtrosDatos;
    private javax.swing.JPanel pnlUsuario;
    private javax.swing.JTextArea txaBarraEstado;
    private javax.swing.JTextField txtApeMaterno;
    private javax.swing.JTextField txtApePaterno;
    private javax.swing.JTextField txtDireccion;
    private javax.swing.JTextField txtEmail;
    private javax.swing.JTextField txtNombres;
    private javax.swing.JTextField txtNumDocumento;
    private javax.swing.JTextField txtTelefono;
    private javax.swing.JTextField txtUsuario;
    // End of variables declaration//GEN-END:variables
}